
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<HTML>

<HEAD>
   <TITLE>gfrefn_c</TITLE>
</HEAD>

<BODY style="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);">
<A name="TOP"></A>

<table style="text-align: left; margin-left: auto; margin-right: auto; width: 800px;"
 border="0" cellpadding="5" cellspacing="2">
  <tbody>
    <tr>
      <td style="background-color: rgb(153, 153, 153); vertical-align: middle; text-align: center;">
      <div align="right"> 
      <small><small><a href="index.html">Index Page</a></small></small>
      </div>
      <b>gfrefn_c</b> </td>
    </tr>

    <tr>
      <td style="vertical-align: top;">

<small><div align="center">
<A HREF="index.html#A">A</A>&nbsp;
<A HREF="index.html#B">B</A>&nbsp;
<A HREF="index.html#C">C</A>&nbsp;
<A HREF="index.html#D">D</A>&nbsp;
<A HREF="index.html#E">E</A>&nbsp;
<A HREF="index.html#F">F</A>&nbsp;
<A HREF="index.html#G">G</A>&nbsp;
<A HREF="index.html#H">H</A>&nbsp;
<A HREF="index.html#I">I</A>&nbsp;
<A HREF="index.html#J">J</A>&nbsp;
<A HREF="index.html#K">K</A>&nbsp;
<A HREF="index.html#L">L</A>&nbsp;
<A HREF="index.html#M">M</A>&nbsp;
<A HREF="index.html#N">N</A>&nbsp;
<A HREF="index.html#O">O</A>&nbsp;
<A HREF="index.html#P">P</A>&nbsp;
<A HREF="index.html#Q">Q</A>&nbsp;
<A HREF="index.html#R">R</A>&nbsp;
<A HREF="index.html#S">S</A>&nbsp;
<A HREF="index.html#T">T</A>&nbsp;
<A HREF="index.html#U">U</A>&nbsp;
<A HREF="index.html#V">V</A>&nbsp;
<A HREF="index.html#W">W</A>&nbsp;
<A HREF="index.html#X">X</A>&nbsp;
</div></small>
       <br>
       <table style="text-align: left; width: 60%; margin-left: auto; margin-right: auto;"
       border="0" cellspacing="2" cellpadding="2">
        <tbody>
          <tr>
            <td style="width: 50%; text-align: center;">
            <small>
              <a href="#Procedure">Procedure<br></a>
              <a href="#Abstract">Abstract<br></a>
              <a href="#Required_Reading">Required_Reading<br></a>
              <a href="#Keywords">Keywords<br></a>
              <a href="#Brief_I/O">Brief_I/O<br></a>
              <a href="#Detailed_Input">Detailed_Input<br></a>

              </small>
              </td>
              <td style="vertical-align: top; width: 50%; text-align: center;">
              <small>               <a href="#Detailed_Output">Detailed_Output<br></a>
              <a href="#Parameters">Parameters<br></a>
              <a href="#Exceptions">Exceptions<br></a>
              <a href="#Files">Files<br></a>
              <a href="#Particulars">Particulars<br></a>
              <a href="#Examples">Examples<br></a>

              </small>
              </td>
              <td style="vertical-align: top; width: 50%; text-align: center;">
              <small>               <a href="#Restrictions">Restrictions<br></a>
              <a href="#Literature_References">Literature_References<br></a>
              <a href="#Author_and_Institution">Author_and_Institution<br></a>
              <a href="#Version">Version<br></a>
              <a href="#Index_Entries">Index_Entries<br></a>
             </small>
            </td>
          </tr>
        </tbody>
</table>

<h4><a name="Procedure">Procedure</a></h4>
<PRE>
   void gfrefn_c ( SpiceDouble     t1,
                   SpiceDouble     t2,
                   SpiceBoolean    s1,
                   SpiceBoolean    s2,
                   SpiceDouble   * t  ) 

</PRE>
<h4><a name="Abstract">Abstract</a></h4>
<PRE>
 
   For those times when we can't do better, we use a bisection 
   method to find the next time at which to test for state change. 
 </PRE>
<h4><a name="Required_Reading">Required_Reading</a></h4>
<PRE>
 
   None. 
 </PRE>
<h4><a name="Keywords">Keywords</a></h4>
<PRE>
 
   SEARCH 
   UTILITY 
 

</PRE>
<h4><a name="Brief_I/O">Brief_I/O</a></h4>
<PRE>
 
   VARIABLE  I/O  DESCRIPTION 
   --------  ---  -------------------------------------------------- 
   t1         I   One of two values bracketing a state change. 
   t2         I   The other value that brackets a state change. 
   s1         I   State at t1.
   s2         I   State at t2.
   t          O   New value at which to check for transition.
 </PRE>
<h4><a name="Detailed_Input">Detailed_Input</a></h4>
<PRE>
 
   t1         One of two abscissa values (usually times)
              bracketing a state change. 
 
   t2         The other abscissa value that brackets a state change. 
 
   s1         System state at t1. This argument is provided
              for forward compatibility; it's not currently used.

   s2         System state at t2. This argument is provided
              for forward compatibility; it's not currently used.
</PRE>
<h4><a name="Detailed_Output">Detailed_Output</a></h4>
<PRE>
 
   t          is the midpoint of t1 and t2.
 </PRE>
<h4><a name="Parameters">Parameters</a></h4>
<PRE>
 
   None. 
 </PRE>
<h4><a name="Exceptions">Exceptions</a></h4>
<PRE>
 
   Error free 
 </PRE>
<h4><a name="Files">Files</a></h4>
<PRE>
 
   None. 
 </PRE>
<h4><a name="Particulars">Particulars</a></h4>
<PRE>
   &quot;Refinement&quot; means reducing the size of a bracketing interval on the
   real line in which a solution is known to lie. In the GF setting,
   the solution is the time of a state transition of a binary function.

   This routine supports solving for locations of bracketed state
   transitions by the bisection method. This is the default refinement
   method used by the GF system.
 
   The argument list of this routine is compatible with the GF system's
   general root finding routine. Refinement routines created by users
   must have the same argument list in order to be used by the GF
   mid-level APIs such as <a href="gfocce_c.html">gfocce_c</a> and <a href="gffove_c.html">gffove_c</a>.
 </PRE>
<h4><a name="Examples">Examples</a></h4>
<PRE>
 
   The following code fragment from an example program in the header of
   <a href="gfocce_c.html">gfocce_c</a> shows the address of this routine passed as the 12th argument.

      /.
      Perform the search.
      ./
      <a href="gfocce_c.html">gfocce_c</a> ( &quot;ANY&quot;,                            
                 &quot;MOON&quot;,     &quot;ellipsoid&quot;,  &quot;IAU_MOON&quot;, 
                 &quot;SUN&quot;,      &quot;ellipsoid&quot;,  &quot;IAU_SUN&quot;,  
                 &quot;LT&quot;,       &quot;EARTH&quot;,      CNVTOL,    
                 &amp;<a href="gfstep_c.html">gfstep_c</a>,  &amp;<b>gfrefn_c</b>,    rpt,       
                 &amp;<a href="gfrepi_c.html">gfrepi_c</a>,  &amp;<a href="gfrepu_c.html">gfrepu_c</a>,    &amp;<a href="gfrepf_c.html">gfrepf_c</a>, 
                 bail,       &amp;<a href="gfbail_c.html">gfbail_c</a>,    &amp;cnfine,   
                 &amp;result                              );

 </PRE>
<h4><a name="Restrictions">Restrictions</a></h4>
<PRE>
 
   No errors are returned by this routine. 
 </PRE>
<h4><a name="Literature_References">Literature_References</a></h4>
<PRE>
 
   None. 
 </PRE>
<h4><a name="Author_and_Institution">Author_and_Institution</a></h4>
<PRE>
 
   N.J. Bachman   (JPL)
   W.L. Taber     (JPL) 
   I.M. Underwood (JPL) 
   L.S. Elson     (JPL)
   E.D. Wright    (JPL) 
 </PRE>
<h4><a name="Version">Version</a></h4>
<PRE>
    
   -CSPICE Version 1.0.0, 15-APR-2009 (NJB) (EDW)
</PRE>
<h4><a name="Index_Entries">Index_Entries</a></h4>
<PRE>
 
   GF standard step refinement
 </PRE>
<h4>Link to routine gfrefn_c source file <a href='../../../src/cspice/gfrefn_c.c'>gfrefn_c.c</a> </h4>

      </td>
    </tr>
  </tbody>
</table>

   <pre>Wed Jun  9 13:05:24 2010</pre>

</body>
</html>

